/**
 * 权限管理工具函数
 */

type UserRole = '老板' | '管理员' | '员工' | null

// 获取当前用户角色
export function getCurrentUserRole(): UserRole {
  const userStr = localStorage.getItem('user')
  if (userStr) {
    try {
      const user = JSON.parse(userStr)
      return user.role
    } catch {
      return null
    }
  }
  return null
}

// 检查是否有编辑权限（老板和管理员）
export function hasEditPermission(): boolean {
  const role = getCurrentUserRole()
  return role === '老板' || role === '管理员'
}

// 检查是否有查看权限（所有角色）
export function hasViewPermission(): boolean {
  const role = getCurrentUserRole()
  return ['老板', '管理员', '员工'].includes(role as string)
}

// 检查特定权限
export function checkPermission(requiredRoles: UserRole[]): boolean {
  const currentRole = getCurrentUserRole()
  return requiredRoles.includes(currentRole)
}

// 获取权限描述
export function getPermissionDescription(): string {
  const role = getCurrentUserRole()
  const descriptions: Record<string, string> = {
    '老板': '拥有所有权限',
    '管理员': '拥有管理权限',
    '员工': '仅查看权限'
  }
  return descriptions[role as string] || '未知权限'
}